package result;

import lombok.Data;

import java.io.Serializable;

@Data
public class JsonResult<T> implements Serializable {
    private Integer state;
    //code 状态码 项目开发者约定的业务状态码 0成功 1参数错误 2 系统异常...
    private String message;
    //后端处理这个接口的时候 反馈的具体信息 比如 state==1 message=="age不是人的年龄 580岁"
    private T data;
    //前端经常需要查询后端的数据 可能是object可能是list 可能是map 可以将查询结果包装到这个data中
    //返回给前端 只需要说明数据结构就可以了

    /**
     * 创建响应结果对象，表示成功的方法
     */
    public static JsonResult ok(String message) {
        JsonResult jsonResult = new JsonResult();
        jsonResult.setState(200);
        jsonResult.setMessage(message);
        jsonResult.setData(null);
        return jsonResult;
    }

    public static JsonResult fail(String message) {
        JsonResult jsonResult = new JsonResult();
        jsonResult.setState(500);
        jsonResult.setMessage(message);
        jsonResult.setData(null);
        return jsonResult;
    }
}
